<template>
  <div style="width: 100%;height: auto">
    <div id="deawer">
      <v-tableTitle :btnConfig="btnConfig" @cancel="cancel" @save="save"></v-tableTitle>
      <div class="detailBox">
        <v-detail ref="detail"></v-detail>
      </div>
    </div>
  </div>

</template>

<script>
import baseMixin from "@/mixins/BaseMixin";
import skipMixin from "@/mixins/SkipMixin";
import config from "../Config";
import tableTitle from "commons/TableTitle";
import detail from "../details/Detail";

export default {
  name: "",
  mixins: [baseMixin, skipMixin, config],
  data() {
    return {
      newFlag: false,
    };
  },
  computed: {
    btnConfig() {
      return [
        { label: this.$t('common.save'), certigier: this.saveStatus || !this.btnPermNameList.includes('WM030506'), invalid: "save" },
        { label: this.$t('common.cancel'), certigier: !this.btnPermNameList.includes('WM030507'), invalid: "cancel" },
      ];
    },
  },
  created() { },
  methods: {
    //保存按钮
    async save() {
      let flag = this.$refs.detail.$children[0].$refs.detail.submitForm("from");
      if (!flag) {
        return;
      }
      let data = this.$refs.detail.detailData;
      if (this.newFlag) {
        try {
          let res = await this.$api.post("/insertLoc", data);
          
            this.$message.success(res.returnMgr);
            this.cancel();
          
        } catch (e) {
          this.$message.error(e);
        }
      } else {
        try {
          let res = await this.$api.post("/updateLoc", data);
          
            this.$message.success(res.returnMgr);
            this.cancel();
          
        } catch (e) {
          this.$message.error(e);
        }
      }
    },
    //弹框取消
    cancel() {
      this.$router.push({ name: "loc" });
    },
  },
  mounted() {
    if (Object.keys(this.$store.state.skip).length !== 0) {
      let data = this.$store.state.skip;
      this.newFlag = data.newFlag;
    } else {
      this.newFlag = this.$store.state.newFlag;
    }
  },
  watch: {},
  components: {
    "v-tableTitle": tableTitle,
    "v-detail": detail,
  },
};
</script>

<style scoped>

</style>
